package br.edu.infnet.dto;

import java.io.Serializable;
import java.math.BigDecimal;

import org.dozer.DozerBeanMapper;
import org.dozer.Mapper;

import br.edu.infnet.model.Endereco;


/**
 * The persistent class for the endereco database table.
 * 
 */

public class EnderecoDTO implements Serializable {
	private static final long serialVersionUID = 1L;


	private int pkEndereco;

	private String cep;

	private String cidade;

	private String estado;

	private BigDecimal latitude;

	private String logradouro;

	private BigDecimal longitude;

	public EnderecoDTO() {
	}

	public int getPkEndereco() {
		return this.pkEndereco;
	}

	public void setPkEndereco(int pkEndereco) {
		this.pkEndereco = pkEndereco;
	}

	public String getCep() {
		return this.cep;
	}

	public void setCep(String cep) {
		this.cep = cep;
	}

	public String getCidade() {
		return this.cidade;
	}

	public void setCidade(String cidade) {
		this.cidade = cidade;
	}

	public String getEstado() {
		return this.estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public BigDecimal getLatitude() {
		return this.latitude;
	}

	public void setLatitude(BigDecimal latitude) {
		this.latitude = latitude;
	}

	public String getLogradouro() {
		return this.logradouro;
	}

	public void setLogradouro(String logradouro) {
		this.logradouro = logradouro;
	}

	public BigDecimal getLongitude() {
		return this.longitude;
	}

	public void setLongitude(BigDecimal longitude) {
		this.longitude = longitude;
	}
	
	public Endereco toEntity() {
		Endereco dto = new Endereco();
		
		/*Mapper mapper = new DozerBeanMapper();
        entity = mapper.map(this, Endereco.class);*/
		
		dto.setCep(cep);
        dto.setCidade(cidade);
        dto.setEstado(estado);
        dto.setLatitude(latitude);
        dto.setLogradouro(logradouro);
        dto.setLongitude(longitude);
        dto.setPkEndereco(pkEndereco);
        
        return dto;
	}

	@Override
	public String toString() {
		return "EnderecoDTO [pkEndereco=" + pkEndereco + ", cep=" + cep
				+ ", cidade=" + cidade + ", estado=" + estado + ", latitude="
				+ latitude + ", logradouro=" + logradouro + ", longitude="
				+ longitude + "]";
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((cep == null) ? 0 : cep.hashCode());
		result = prime * result + pkEndereco;
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		EnderecoDTO other = (EnderecoDTO) obj;
		if (cep == null) {
			if (other.cep != null)
				return false;
		} else if (!cep.equals(other.cep))
			return false;
		if (pkEndereco != other.pkEndereco)
			return false;
		return true;
	}


	
}